iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
Software Development

從零開始學 Python系列 第 9

Day 9 - Tuple(不可變串列)與 Set(集合)

  • 分享至 

  • xImage
  •  

今天的學習重點

  • Tuple:一旦建立就無法修改的「不可變串列」,用於存放固定不變的資料。
  • Set:不允許重複且無順序的集合,適合用於去重、集合運算(交集、聯集、差集)。

1. Tuple(不可變串列)

  • 與 List 類似,但建立後內容不能修改(不可新增、刪除、修改元素)
  • 使用小括號 () 建立
  • 適合存放固定不變的資料(例如一週的七天、固定座標點)
# 建立 Tuple
fruits = ("apple", "banana", "cherry")

# 取值(跟 List 一樣用索引)
print(fruits[0])

輸出:
apple

嘗試修改會報錯
螢幕擷取畫面 2025-08-10 141117

Tuple 也可以解包

x, y, z = fruits
print(x) 
print(y) 
print(z)  

輸出:
apple
banana
cherry
螢幕擷取畫面 2025-08-11 150820

2. Set(集合)

  • 使用大括號 {} 建立
  • 不允許重複元素
  • 無序(取值沒有固定順序)
  • 適合用於去除重複值、做集合運算(交集、聯集、差集)
# 建立 Set
numbers = {1, 2, 3, 3, 2}
print(numbers)  #自動去除重複

輸出:
{1, 2, 3}

# 新增元素
numbers.add(4)
print(numbers)

輸出:
{1, 2, 3, 4}

# 刪除元素
numbers.remove(2)  # 如果不存在會報錯
numbers.discard(5) # 如果不存在也不會報錯
print(numbers)

輸出:
{1, 3, 4}

# 集合運算
a = {1, 2, 3}
b = {3, 4, 5}
print(a & b)  # 交集 
print(a | b)  # 聯集 
print(a - b)  # 差集 

輸出:
螢幕擷取畫面 2025-08-11 151433

tuple、list、set 的比較

特性 list(串列) tuple(元組) set(集合)
語法 [] () {}set()
是否可變 可變 不可變 可變(但元素必須不可變)
元素是否可重複 可重複 可重複 不可重複
元素是否有順序 有順序 有順序 無順序(印出的順序可能不同)
索引存取 支援 支援 不支援
適用場合 一般資料操作 固定不變的資料 去除重複、數學集合運算
  • list → 像紙袋一樣,隨時可以裝、拿、改東西(可變、有順序、可重複)。
  • tuple → 像封起來的盒子,東西放進去後不能動(不可變、有順序、可重複)。
  • set → 像一堆沒有順序的籌碼,不會有重複的東西(可變、無順序、不可重複)。

學習心得

今天學到 tuple(元組)與 set(集合),加上之前的 list(串列),發現它們在語法和功能上看起來非常相似,一度搞不清楚它們的使用方式與適用時機。但一個一個列出來比較就很清楚了!
明天要學習的內容是Dict(字典)結構與應用!


上一篇
Day 8 - List(串列)操作:增刪改查、排序讓資料動起來!
下一篇
Day 10 - dict(字典)結構與應用
系列文
從零開始學 Python30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言